<?php
/*
 * Created on Feb 18, 2010
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
class CityRegionModel{	
	
	function CityRegionModel(){
	
	}
	
	function getCountRegion(){		
		global $connDB;  //The database connection
		$sql = "SELECT * FROM ".TBL_CITY_REGION." WHERE deleteFlag = 0";
		$result = $connDB->DB_query($sql,$connDB->connection);
		
      	return $connDB->DB_num_rows($result);
	}
	
	function getCities($offset = null, $limit = null){
		global $connDB;  //The database connection
		$sql = "SELECT * FROM ".rees_city." 
				WHERE deleteFlag = 0 
				ORDER BY sortNo DESC, updateDate DESC, name ASC ".getLimitFormat($offset, $limit);
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $result;
	}
	
	function getCountDistrictsByCityId($cityId = null){		
		global $connDB;  //The database connection
		$sql = "SELECT id, name FROM ".TBL_DISTRICT." 
				WHERE deleteFlag = 0 AND rees_city_id = ". $cityId ." 
				ORDER BY sortNo DESC, updateDate DESC, name ASC ";
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $connDB->DB_num_rows($result);
	}
	
	function getDistrictsByCity($cityId = null, $offset = null, $limit = null){
		global $connDB;  //The database connection
		$sql = "SELECT * FROM ".TBL_DISTRICT." 
				WHERE deleteFlag = 0 AND rees_city_id = ". $cityId ." 
				ORDER BY sortNo DESC, updateDate DESC, name ASC ".getLimitFormat($offset, $limit);
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $result;
	}
	
	function getRegions($offset = null, $limit = null){
		global $connDB;  //The database connection
		$sql = "SELECT * FROM ".TBL_CITY_REGION." 
				WHERE deleteFlag = 0 
				ORDER BY sortNo DESC, updateDate DESC, name ASC ".getLimitFormat($offset, $limit);
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $result;
	}
	
	function getArrayRegions($resultSet = null){
		global $connDB;  //The database connection
		if($resultSet == null) return null;
		return $connDB->DB_fetch_row($resultSet);
	}
	
	function getArrayNameRegions($resultSet = null){
		global $connDB;  //The database connection
		if($resultSet == null) return null;
		return $connDB->DB_fetch_array($resultSet);
	}
	
	function getRegionById($id = null){
		global $connDB;  //The database connection
		if($id == null) return null;
		$sql = "SELECT cityRe.name,
					cityRe.sortNo,
					cityRe.createDate,
					cityRe.updateDate".
				" FROM ".TBL_CITY_REGION. " cityRe".
				" WHERE cityRe.id = '$id' AND cityRe.deleteFlag = 0";
		$result = $connDB->DB_query($sql,$connDB->connection);
		
		return $connDB->DB_fetch_array($result);
	}
	
	function getItemDetail($id = null) { // getCityRegionDetail
		global $connDB;  //The database connection
		if ($id == null) {
			
			return null;
		}
		$sql = "SELECT 
					   item.id,
				       item.title,
				       item.description,
				       item.content,
				       item.contact,
				       item.place,
				       item.source,
				       item.direction,
				       item.size,
				       item.price,
				       item.image,
				       item.endDate,
				       item.createDate,
						
				       city.name city_name,
				       dist.name district_name,
				       
				       us.fullName,
				       us.phone,
				       us.email".
		
				" FROM ".TBL_ITEM. " item".
				" INNER JOIN ".TBL_USERS. " us ON us.id = item.rees_user_id".
				" LEFT JOIN ".TBL_CITY." city ON city.id = item.rees_city_id ".
				" LEFT JOIN ".TBL_DISTRICT." dist ON dist.rees_city_id = city.id".
				" WHERE item.id = $id";  
		$result = $connDB->DB_query($sql, $connDB->connection);
		
		return $connDB->DB_fetch_array($result);
	}
	
	function getCitiesRegionById($id = null, $offset = null, $limit = null){
		global $connDB;  //The database connection
		if($id == null) return null;
		$sql = "SELECT 
					cityRe.id city_region_id,
					cityRe.name,
					cityRe.sortNo,
					cityRe.createDate,
					cityRe.updateDate,					
					item.id,
					
					item.title,
					item.description,
					item.content,
					item.contact,
					item.place,
					item.source,
					item.direction,
					item.size,
					item.price,
					item.isSpecial,
					item.endDate,
					item.createDate".
			
					
				" FROM ".TBL_CITY_REGION. " cityRe".
				" INNER JOIN ".TBL_ITEM." item ON item.rees_cityregion_id = cityRe.id".
				" WHERE cityRe.id = '$id' AND cityRe.deleteFlag = 0".
				" ORDER BY item.createDate DESC " .getLimitFormat($offset, $limit);  
		$result = $connDB->DB_query($sql,$connDB->connection);
		
		return $result;
	}
	
	function countCitiesRegionById($id = null){
		global $connDB;  //The database connection
		if($id == null) return null;
		$sql = "SELECT cityRe.id".
				" FROM ".TBL_CITY_REGION. " cityRe".
				" INNER JOIN ".TBL_ITEM." item ON item.rees_cityregion_id = cityRe.id".
				" WHERE cityRe.id = '$id' AND cityRe.deleteFlag = 0";  
		$result = $connDB->DB_query($sql,$connDB->connection);
		
		return $connDB->DB_num_rows($result);
	}
	
	function addNewRegion($name, $sortno, $createDate){
		global $connDB;  //The database connection
		$createDate = FormatDateForSQL($createDate).' '.date('h:i:s');
		$sql = "INSERT INTO ".TBL_CITY_REGION." (name,
						sortNo,
						deleteFlag,
						createDate,
						updateDate)
				VALUES ('" . $name . "',
					" . $sortno . ",
					" . 0 . ",
					'" . $createDate . "',
					'" . $createDate . "')";
		$msg = _('Khu đô thị <') . ' ' . $name . ' ' . _('> đã thêm vào hệ thống');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function editRegion($id, $name, $sortno){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_CITY_REGION." SET name='" . $name . "',
						sortNo=" . $sortno . ",						
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";		
		$msg = _('Khu đô thị <') . ' ' . $name . ' ' . _('> đã cập nhật');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function deleteRegion($id){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_CITY_REGION." SET deleteFlag=" . 1 . ",
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";			
		$msg = _('Khu đô thị <') . ' ' . $id . ' ' . _('> đã xóa');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function deleteCity($id){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_CITY." SET deleteFlag=" . 1 . ",
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";			
		$msg = _('Tỉnh/TP <') . ' ' . $id . ' ' . _('> đã xóa');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function deleteDistrict($id){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_DISTRICT." SET deleteFlag=" . 1 . ",
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";			
		$msg = _('Quận/Huyện <') . ' ' . $id . ' ' . _('> đã xóa');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function getCityById($id = null){		
		global $connDB;  //The database connection
		if($id == null) return null;
		$sql = "SELECT * FROM ".TBL_CITY." WHERE deleteFlag = 0 AND id = ".$id;
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $connDB->DB_fetch_array($result);
	}
	
	function getCountCities(){		
		global $connDB;  //The database connection
		$sql = "SELECT * FROM ".TBL_CITY." WHERE deleteFlag = 0";
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $connDB->DB_num_rows($result);
	}
	
	function getDistrictById($id = null){		
		global $connDB;  //The database connection
		if($id == null) return null;
		$sql = "SELECT * FROM ".TBL_DISTRICT." WHERE deleteFlag = 0 AND id = ".$id;
		$result = $connDB->DB_query($sql,$connDB->connection);
      	return $connDB->DB_fetch_array($result);
	}
	
	function addNewCity($name, $sortno, $createDate){
		global $connDB;  //The database connection
		$createDate = FormatDateForSQL($createDate).' '.date('h:i:s');
		$sql = "INSERT INTO ".TBL_CITY." (name,
						sortNo,
						deleteFlag,
						createDate,
						updateDate)
				VALUES ('" . $name . "',
					" . $sortno . ",
					" . 0 . ",
					'" . $createDate . "',
					'" . $createDate . "')";
		$msg = _('Tỉnh/TP <') . ' ' . $name . ' ' . _('> đã thêm vào hệ thống');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function editCity($id, $name, $sortno){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_CITY." SET name='" . $name . "',
						sortNo=" . $sortno . ",						
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";		
		$msg = _('Tỉnh/TP <') . ' ' . $name . ' ' . _('> đã cập nhật');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function addNewDistrict($name, $sortno, $type, $createDate){
		global $connDB;  //The database connection
		$createDate = FormatDateForSQL($createDate).' '.date('h:i:s');
		$sql = "INSERT INTO ".TBL_DISTRICT." (name,
						sortNo,
						rees_city_id,
						deleteFlag,
						createDate,
						updateDate)
				VALUES ('" . $name . "',
					" . $sortno . ",
					" . $type . ",
					" . 0 . ",
					'" . $createDate . "',
					'" . $createDate . "')";
		$msg = _('Quận/Huyện <') . ' ' . $name . ' ' . _('> đã thêm vào hệ thống');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
	
	function editDistrict($id, $name, $sortno, $type){
		global $connDB;  //The database connection
		$sql = "UPDATE ".TBL_DISTRICT." SET name='" . $name . "',
						sortNo=" . $sortno . ",
						rees_city_id=" . $type . ",
						updateDate='" . date('Y-m-d h:i:s') . "'
				WHERE id = '$id'";		
		$msg = _('Quận/Huyện <') . ' ' . $name . ' ' . _('> đã cập nhật');
		$ErrMsg = _('Thao tác trên database bị lỗi xảy ra');
		$DbgMsg = _('Lệnh cập nhật database bị lỗi');
		$result = $connDB->DB_query($sql, $connDB->connection, $ErrMsg, $DbgMsg);
		if($result){
			return 0;
		}else{
			return 2;
		}
	}
};

/* Create cityregion controller object */
$cityModel = new CityRegionModel;
?>
